libotutil: Make use of GBytes in ot_variant_read()
authorColin Walters <walters@verbum.org>
Wed, 14 Aug 2013 23:54:30 +0000 (19:54 -0400)
committerColin Walters <walters@verbum.org>
Wed, 14 Aug 2013 23:55:34 +0000 (19:55 -0400)
This is just cleaner; we avoid using GObject data, etc.

https://bugzilla.gnome.org/show_bug.cgi?id=706031

src/libotutil/ot-variant-utils.c

index 0f2e57dbc12685877cc5103dd5f2e9536e7f3cd4..0bc9934a83725591c414e1ff564d62d5fd8d753b 100644 (file)
@@ -180,12 +180,12 @@ GInputStream *
 ot_variant_read (GVariant             *variant)
 {
   GMemoryInputStream *ret = NULL;
+  gs_unref_bytes GBytes *bytes = NULL;
+
+  bytes = g_variant_get_data_as_bytes (variant);
+  ret = (GMemoryInputStream*)g_memory_input_stream_new ();
+  g_memory_input_stream_add_bytes (ret, bytes);
 
-  ret = (GMemoryInputStream*)g_memory_input_stream_new_from_data (g_variant_get_data (variant),
-                                                                  g_variant_get_size (variant),
-                                                                  NULL);
-  g_object_set_data_full ((GObject*)ret, "ot-variant-data",
-                          g_variant_ref (variant), (GDestroyNotify) g_variant_unref);
   return (GInputStream*)ret;
 }